﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace BpNTClass.IOAblauf
{
    public partial class frmWriteln : Form
    {
        const int Breite = 400;

        public frmWriteln()
        {
            InitializeComponent();
        }
        private void frmWriteln_Load(object sender, EventArgs e)
        {
            AlignWindow(); 
        }
        private void AlignWindow()
        {
            //Frm auf Main Screen nach rechts kleben
            this.Height = Screen.PrimaryScreen.WorkingArea.Height; 
            this.Width = Breite;
            this.Left = Screen.PrimaryScreen.WorkingArea.Width - Breite;
            this.Top = 0;
        }
        public void Writeln(string aString)
        {
#if DEBUG
            try
            {
                rbMain.AppendText(DateTime.Now.ToString("ss:ff") + " " + aString + "\r\n");
                rbMain.ScrollToCaret();
                Application.DoEvents(); // Debug Fenster beweglich / mini und maximierbar halten.

                if (!this.Visible)
                {
                    this.AlignWindow();
                    this.Show();
                }
            }
            catch 
            { } // beim beenden passieren hier Fehler wenn das Fenster schon zerstört wurde aber dennoch writelnes kommen ....
#endif
        }
        public void Writeln(object aObject)
        {
            this.Writeln(aObject.ToString());
        }
        private void frmWriteln_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.Hide();
            e.Cancel = true;
        }
    }
}
